<html>
<head><meta charset="utf-8"><title>Does the working group accept the addition of new members? · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html">Does the working group accept the addition of new members?</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="234428664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234428664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sparrow Li <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234428664">(Apr 14 2021 at 01:43)</a>:</h4>
<p>Hello everyone, My github is <a href="https://github.com/SparrowLii">https://github.com/SparrowLii</a>.  I'm interested in the development of stdsimd. I've been contributing neon instructions to stdarch lately. and would like to contribute to the work of simd wg after this. </p>
<p>So if there's a plan for stdsimd or a roadmap, please let me know. </p>
<p>My personal idea is to implement simd interfaces that are more transparent to users, without having to distinguish the length of the vector register. In this way, users do not need to understand the differences between hardware architectures. Do you have similar considerations?</p>



<a name="234429092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234429092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234429092">(Apr 14 2021 at 01:49)</a>:</h4>
<p>Sure, membership is in practice "whoever shows up and does the work"~ ^_^<br>
At the moment, we're currently developing a const generic API.<br>
In this way, users are not quite completely ignorant of the length of the vector type, but can abstract over it in their code, allowing them to mostly treat it as a variable like any other.<br>
We do not plan to make it more abstract than this because we are weighing our API against another consideration: at the moment, squeezing out performance requires knowing some hard realities about the machine.</p>



<a name="234429890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234429890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sparrow Li <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234429890">(Apr 14 2021 at 02:00)</a>:</h4>
<p>If we can implement automatic detection of machine characteristics, can we make simd more transparent to users while maximizing performance? For example, let simd_add use arrays as arguments, and let the compiler choose the most appropriate vector length and simd instruction.</p>
<p>Of course, that's just my personal assume for the time being. I would love to be involved in the progress of the wg's work. Is there any issue related to the const generic interface? I can try to raise some PRs.</p>



<a name="234430207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234430207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234430207">(Apr 14 2021 at 02:04)</a>:</h4>
<p>It might be useful to read the announcement post for why we can't simply just "make the backend do it": the backend is only a machine of limited intelligence, at the end of the day.  <a href="https://blog.rust-lang.org/inside-rust/2020/09/29/Portable-SIMD-PG.html">https://blog.rust-lang.org/inside-rust/2020/09/29/Portable-SIMD-PG.html</a></p>



<a name="234430230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234430230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234430230">(Apr 14 2021 at 02:04)</a>:</h4>
<p>you can have a look around in the issue tracker too <a href="https://github.com/rust-lang/stdsimd/issues">https://github.com/rust-lang/stdsimd/issues</a></p>



<a name="234430716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234430716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sparrow Li <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234430716">(Apr 14 2021 at 02:11)</a>:</h4>
<p>That makes sense. Maybe we can implement a more "front-end" module that automatically detects machine characteristics and selects vector length.<br>
Thanks for the link! I'll see what I can do.</p>



<a name="234431075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234431075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234431075">(Apr 14 2021 at 02:17)</a>:</h4>
<p>There has been discussion of multiversioning that <em>can</em> do that, especially as e.g. a crate, but it's basically "out of scope" for the current work.</p>



<a name="234431486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234431486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sparrow Li <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234431486">(Apr 14 2021 at 02:22)</a>:</h4>
<p>Thanks for explaining. I personally find it valuable because I also want to use stdsimd in the matrix caculating crate "ndarray", which would use this feature.</p>



<a name="234432501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234432501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234432501">(Apr 14 2021 at 02:37)</a>:</h4>
<p>Yeah, we're hoping to get things to the point where it's easy to build that feature.</p>



<a name="234439532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234439532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sparrow Li <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234439532">(Apr 14 2021 at 04:29)</a>:</h4>
<p>core_simd is not currently available in the standard library. What are the main obstacles?</p>



<a name="234439888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234439888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234439888">(Apr 14 2021 at 04:34)</a>:</h4>
<p><em>nervous giggling</em></p>



<a name="234440086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234440086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234440086">(Apr 14 2021 at 04:38)</a>:</h4>
<p>Let's see.<br>
0) We need to pull in rustc deps and add feature flags for everything like stdarch has.<br>
1) We need to make sure that we don't break on Cranelift's test suite.</p>



<a name="234440232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234440232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Sparrow Li <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234440232">(Apr 14 2021 at 04:40)</a>:</h4>
<p>Thanks for the explanation!</p>



<a name="234440424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234440424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234440424">(Apr 14 2021 at 04:43)</a>:</h4>
<p>It was the second one which has a somewhat... Large... possible space for amount of work to be done,<br>
<a href="https://github.com/rust-lang/stdsimd/issues/40">https://github.com/rust-lang/stdsimd/issues/40</a><br>
which led to this MCP: <a href="https://github.com/rust-lang/compiler-team/issues/381">https://github.com/rust-lang/compiler-team/issues/381</a></p>



<a name="234732003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Does%20the%20working%20group%20accept%20the%20addition%20of%20new%20members%3F/near/234732003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Does.20the.20working.20group.20accept.20the.20addition.20of.20new.20members.3F.html#234732003">(Apr 15 2021 at 18:51)</a>:</h4>
<p>Oh, also,<br>
2) we wanted something approaching feature parity with <code>packed_simd</code>.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>